#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef pair<int,int> PII;
vector<PII>segs;
void merge(vector<PII>&segs)
{
    vector<PII>res;
    sort(segs.begin(),segs.end());
    int st=-2e9,ed=-2e9;
    for(auto seg:segs)
    {
        if(ed<seg.first)//第三种情况 
        {
            if(st!=-2e9)res.push_back({st,ed});//因为已经排完序 将上一个区间先放入答案集
            st=seg.first,ed=seg.second;//更新维护区间
        }
        else ed=max(ed,seg.second);//max只能放两个数据类型相同的值
    }
    if(st!=-2e9)res.push_back({st,ed});//放最后一个区间 
    segs=res;
}
int main()
{
    int n=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int l,r;
        cin>>l>>r;
        segs.push_back({l,r});
    }
    merge(segs);
    cout<<segs.size();
}